package com.atguigu.service;

import com.atguigu.base.BaseService;
import com.atguigu.entity.Dict;

import java.util.List;
import java.util.Map;

/**
 * @PACKAGE_NAME: com.atguigu.service
 * @CLASSNAME: DictService
 * @AUTHOR: zhangsan
 * @DATE: 2024/4/21 17:36
 * @SINCE 17.0.7
 * @DESCRIPTION: DictService
 */
public interface DictService extends BaseService<Dict> {
    /**
     * 通过id查找该节点的子节点
     * @param id
     * @return
     */
    List<Map<String, Object>> findZnodes(Long id);

    /**
     * 根据父节点编码dictCode获取子节点列表
     * @return
     */
    List<Dict> findListByDictCode(String dictCode);

    /**
     * 根据编码获取对应的数据字典
     * @param dictCode
     * @return
     */
    Dict getDictByDictCode(String dictCode);

    /**
     * 根据字典id获取对应的名字
     * @param id
     * @return
     */
    String getNameById(Long id);

    /**
     * 根据父节点id获取子节点列表
     * @param parentId
     * @return
     */
    List<Dict> findListByParentId(Long parentId);

    List<Dict> findChildrenById(Long id);
}
